{$CLEO .cs}
0000:
 animation_load "DANCING"
27@=0
   show_styled_text "Let's go!" 3000 5 
    MODEL.Load(#WMYBOUN)
    MODEL.Load(#bMYBOUN)
    MODEL.Load(#DESERT_EAGLE)
    load_requested_models
    const
       luigi_playing =  29@
       luigi_dies =  28@
       
       de_music =  25@ 
    end
    023C: load_special_actor 'LUIGI' as 1 // models 290-299
    load_requested_models 
    luigi_playing=audiostream.Load3D("cleo\sounds\luigitacodead.mp3")
    luigi_dies=audiostream.Load3D("cleo\sounds\luigidies6.mp3")
    
    
    audiostream.Loop(luigi_playing,1)           
   if  
    
     023D:   special_actor 1 loaded
   then
    0@ = ACTOR.Create(4, #SPECIAL01,  2235.5354, -1064.4307, 58.1466)
    actor.Angle(0@)=  357.934 
    actor.Health(0@)=7500
    0446: set_actor 0@ dismemberment_possible 0
    060B: set_actor 0@ decision_maker_to 32
    0812: actor 0@ perform_animation "IDLE_stance" IFP "ped" framedelta 4.0 loop 0 lockX 0 lockY 0 lockF 1 time -1
  
    AUDIOSTREAM.LinkToActor(luigi_playing,0@)
    Audiostream.PerformAction(luigi_playing , PLAY )
    if and
     model.Available(#bMYBOUN)
    model.Available(#WMYBOUN)
    then 
    10@=actor.Create(4,#WMYBOUN,2283.2324, -970.0521, 57.1735 )
    actor.Angle(10@)= 130.1532
    11@=actor.Create(4,#bMYBOUN, 2279.9795, -975.1782, 57.1591)
    actor.Angle(11@)=159.504 
    12@=actor.Create(4,#WMYBOUN,2285.8428, -983.6427, 58.3704 )
    actor.Angle(12@)= 107.4305
    13@=actor.Create(4,#bMYBOUN,2279.9321, -991.3416, 57.2813  )
    actor.Angle(13@)= 79.4919
   
   else
   0376: 10@ = create_random_actor_at  2233.0701 -1055.8258 60.4315
   0376: 11@ = create_random_actor_at  2234.1428 -1053.0347 60.4315
   0376: 12@ = create_random_actor_at  2234.0859 -1050.2805 57.5918
   0376: 13@ = create_random_actor_at  2239.4106 -1047.9021 57.6739
   
   end 
   0085: 31@ = 10@ // (int)
   gosub @bodyguards
   0085: 31@ = 11@ // (int)
   gosub @bodyguards
   0085: 31@ = 12@ // (int)
   gosub @bodyguards
   0085: 31@ = 13@ // (int)
   gosub @bodyguards
   
   
   0376: 14@ = create_random_actor_at  2233.0701 -1055.8258 60.4315
   0376: 15@ = create_random_actor_at  2234.1428 -1053.0347 60.4315
   0376: 16@ = create_random_actor_at  2234.0859 -1050.2805 57.5918
   0376: 17@ = create_random_actor_at  2239.4106 -1047.9021 57.6739
   0376: 18@ = create_random_actor_at  2240.7407 -1062.3276 58.3477
   0376: 19@ = create_random_actor_at  2238.6919 -1064.6285 61.6143
   0376: 20@ = create_random_actor_at  2243.6191 -1058.6962 58.2551
   05DE: AS_actor 14@ walk_around_ped_path
   05DE: AS_actor 15@ walk_around_ped_path
   05DE: AS_actor 16@ walk_around_ped_path
   05DE: AS_actor 17@ walk_around_ped_path
   05DE: AS_actor 18@ walk_around_ped_path
   05DE: AS_actor 19@ walk_around_ped_path
   05DE: AS_actor 20@ walk_around_ped_path
   actor.Angle(14@)=271.9569
   actor.Angle(15@)=271.9569
   actor.Angle(16@)=271.9569
   actor.Angle(17@)= 196.0644
   actor.Angle(18@)= 295.8628
   actor.Angle(19@)=271.9569
   actor.Angle(20@)=271.9569
   0605: actor 14@ perform_animation "dnce_M_a" IFP "DANCING" framedelta 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1
   0605: actor 15@ perform_animation "dnce_M_a" IFP "DANCING" framedelta 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1
   0605: actor 16@ perform_animation "dnce_M_a" IFP "DANCING" framedelta 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1
   0605: actor 17@ perform_animation "dnce_M_a" IFP "DANCING" framedelta 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1
   0605: actor 18@ perform_animation "dnce_M_a" IFP "DANCING" framedelta 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1
   0605: actor 19@ perform_animation "dnce_M_a" IFP "DANCING" framedelta 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1
   0605: actor 20@ perform_animation "dnce_M_a" IFP "DANCING" framedelta 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1
   0085: 31@ = 14@ // (int)
   gosub @peds
   0085: 31@ = 15@ // (int)
   gosub @peds
   0085: 31@ = 16@ // (int)
   gosub @peds
   0085: 31@ = 17@ // (int)
   gosub @peds
   0085: 31@ = 18@ // (int)
   gosub @peds
   0085: 31@ = 19@ // (int)
   gosub @peds
   0085: 31@ = 20@ // (int)
   gosub @peds
   
   
   else
      terminate_this_custom_script
   end 
  0296: unload_special_actor 1


  while true 
  wait 0
  1@=actor.Health(0@)
        if and
           is_key_pressed 20 
           is_key_pressed 118 
        then
            actor.DestroyInstantly(0@)
            actor.DestroyInstantly(10@)
            actor.DestroyInstantly(11@)
            actor.DestroyInstantly(12@)
            actor.DestroyInstantly(13@)
            actor.DestroyInstantly(14@)
            actor.DestroyInstantly(15@)
            actor.DestroyInstantly(16@)
            actor.DestroyInstantly(17@)
            actor.DestroyInstantly(18@)
            actor.DestroyInstantly(19@)
            actor.DestroyInstantly(20@)
            break
        end
   
            if or
               actor.Dead(0@)
               1@ <= 0 
            then
                if 27@==0
                then
                Audiostream.PerformAction(luigi_playing , stop )
                0792: disembark_instantly_actor 0@
                AUDIOSTREAM.LinkToActor(luigi_dies,0@)
                 Audiostream.PerformAction(luigi_dies ,RESUME )
    
                0829: actor 0@ perform_animation "IDLE_stance" IFP "ped"  rate 4.0 time 1 and_dies
                0326: 30@ = create_actor 0@ fire
                
                05E2: AS_actor 14@ kill_actor player1
                05E2: AS_actor 15@ kill_actor player1
                05E2: AS_actor 16@ kill_actor player1
                05E2: AS_actor 17@ kill_actor player1
                05E2: AS_actor 18@ kill_actor player1
                05E2: AS_actor 19@ kill_actor player1
                05E2: AS_actor 20@ kill_actor player1

                 27@=1 
                end
            end 
          
  end  
    
:clear_up_this_Shit 
  audiostream.Release( luigi_dies)  
  audiostream.Release( luigi_playing)  
  
  animation_release "DANCING"
 terminate_this_custom_script
 
 :bodyguards
 if actor_defined 31@
 return_if_false
    actor.GiveWeaponAndAmmo(31@,DesertEagle,99999)
    actor.WeaponAccuracy(31@)=75 
    07DD: set_actor 31@ attack_rate 80 // previously known as temper_to
    0446: set_actor 31@ dismemberment_possible 0
    actor.Health(31@)=600
    07FE: set_actor 31@ fighting_style_to 7 moves 6

 return
 
 :peds
 if actor_defined 31@
 return_if_false 
    actor.WeaponAccuracy(31@)=40 
    07DD: set_actor 31@ attack_rate 50 // previously known as temper_to
    0446: set_actor 31@ dismemberment_possible 0
    actor.Health(31@)=300
    0209: 21@ = random_int_in_ranges 4 6

    07FE: set_actor 31@ fighting_style_to 21@ moves 6
 
 return 